SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS OFF
GO

CREATE PROCEDURE [dbo].[spAltaGrupo]

@mnemo varchar(50),
@idsuborg int = null,
@Descripcion varchar(50),
@EsGrupo varchar(1),
@Curso varchar(5),
@Grupo varchar(13),
@GrupoCarreras int,
@Turno int,
@FechaAlta varchar(10),
@Baja varchar(1),
@FechaBaja varchar(10),
@Cuise int,
@EsPrivada varchar(1),
@DivPriv int,
@ABM int,
@plaza int,
@agente int,
@Cargo varchar(20),
@stamp datetime,
@division int,
@sex int

-- Parametro para especifica que operacion es A=Alta, B=Baja, M=Modificacion


AS

--SET @Mnemo = RTRIM(LTRIM(@Mnemo))

--declare @Falta datetime
--Select @Falta = cast(@FechaAlta as datetime)
--if (@FechaBaja <> 'null') begin
--declare @FBaja datetime
--Select @FBaja = cast(@FechaBaja as datetime)
--end
SET NOCOUNT ON
declare @mensaje int
declare @mess varchar(200)
select @mess = 'Datos existentes'


if exists (Select * from tb_grupostemp where descripcion = @Descripcion and curso = @curso and grupo = @grupo and GrupoCarreras = @GrupoCarreras and Turno = @Turno and Cuise = @Cuise and agente = @agente and plaza = @plaza) begin
declare @idgrupo int 
Select @idgrupo =  @@identity

select @idgrupo = idgrupo from tb_grupostemp where curso = @curso and grupo = @grupo and GrupoCarreras = @GrupoCarreras and Turno = @Turno and Cuise = @Cuise
if not exists (select * from tb_plazagrupo where grupo = @idgrupo and plaza = @plaza and agente =@agente) begin
insert into tb_plazagrupo(grupo,plaza,agente,cargo,hora) VAlues (@idgrupo,@plaza,@agente,@cargo,@stamp)
Select @mensaje = 2,@mess = 'Se grupo Plaza OK'
end
if not exists  (select * from tb_grupodivision where grupo = @idgrupo and division = @division and sexo = @sex) begin
insert into tb_grupodivision (grupo,division,agente,cargo,hora,sexo)VAlues (@idgrupo,@division,@agente,@cargo,@stamp,@sex)
Select @mensaje = 2,@mess = 'Se grupo Division OK'

set @ABM = 3
end
end
else begin
set @ABM = 1
end

if @ABM = 1 begin
BEGIN TRANSACTION

INSERT INTO tb_grupostemp (Mnemo,idSubOrg,Descripcion,EsGrupo,Curso,Grupo,GrupoCarreras,Turno,FechaAlta,Baja,FechaBaja,CUISE,EsPrivada,Divpriv,cargo,hora,agente,plaza)
VALUES (@Mnemo,@idSubOrg,@Descripcion,@EsGrupo,@Curso,@Grupo,@GrupoCarreras,@Turno,@FechaAlta,@Baja,@FechaBaja,@CUISE,@EsPrivada,@Divpriv,@cargo,@stamp,@agente,@plaza)
select @idgrupo = idgrupo from tb_grupostemp where curso = @curso and grupo = @grupo and GrupoCarreras = @GrupoCarreras and Turno = @Turno and Cuise = @Cuise

insert into tb_plazagrupo(grupo,plaza,agente) VAlues (@idgrupo,@plaza,@agente)
Select @mensaje = 2,@mess = 'Se grupo Plaza OK'
insert into tb_grupodivision (grupo,division,agente,cargo,hora,sexo)VAlues (@idgrupo,@division,@agente,@cargo,@stamp,@sex)
Select @mensaje = 2,@mess = 'Se grupo Division OK'

if @@error = 0
	COMMIT TRAN
else
	ROLLBACK TRAN

end

select @mess as messenger
GO
